class Carrito < ActiveRecord::Base
  has_many :linea_articulos, :dependent => :destroy
  belongs_to :cliente
  
  def add_product(producto_id)
    current_item = linea_articulos.find_by_producto_id(producto_id)
    if current_item
      current_item.cantidad += 1
    else
      current_item = linea_articulos.build(:producto_id => producto_id)
    end
    current_item
  end
  
  def total_precio
    if linea_articulos.empty?
      0    
    else
      linea_articulos.to_a.sum { |articulo| articulo.total_precio }
    end
  end  
  
  def total_articulos
    if linea_articulos.empty?
      0
    else
      linea_articulos.sum(:cantidad)
    end
  end 
end
